The finite impulse response (FIR) filter is a basic digital signal processing building blocks. In its most basic form, a p-tap FIR filter transforms an incoming time domain signal S, formed of symbols S=S(0)S(1) . . . S(j), to producey(n)=C(0)S(n)+C(1)S(n−1)+C(2)S(n−2) . . . C(p−1)S(n−p+1)  (1)C(0), C(1), C(2) . . . C(p−1) are said to be the filter coefficients. FIR filters are detailed generally in A. V. Oppenheim and R. W. Schafer, “Discrete-Time Signal Processing” Prentice-Hall, Englewood Cliffs, N.J. 1989, the contents of which are hereby incorporated by reference.
Proper choice of filter coefficients C(0)(1) . . . C(2), in turn, allows the filter to transform the incoming signal in a multitude of ways.
As is readily appreciated, each output of a p-tap FIR filter relies on p symbols of the incoming signal S. So, typical FIR filter implementations as for example detailed in U.S. Pat. No. 6,367,003 buffers the p incoming samples, and performs the entire calculation of equation (1) to determine the filter output y(n), after arrival of the nth sample S(n).
The delay (or latency) of the filter after arrival of the nth sample is equal to the time required to perform p filter calculations. For many real time applications, significant delay is not tolerable. As such, the rate at which calculations are performed is typically greater than the symbol arrival rate. However, there are practical limits to the rate at which filter calculations are performed, introduced by such things as filter power requirements, electrical interference, and the like.
Accordingly, there is a need for a DSP FIR filter that introduces less delay than conventional DSP FIR filters.